<template>
  <div class='goodsInfo_box'>
    <van-swipe :autoplay="3000">
      <van-swipe-item
        v-for="(image, index) in images"
        :key="index"
      >
        <img v-lazy="image" />
      </van-swipe-item>
    </van-swipe>
    <h4>价格:{{info.price|money}}</h4>
    <van-sku
      v-model="show"
      :sku="sku"
      :goods="goods"
      :goods-id="info.id"
      @buy-clicked="onBuyClicked"
      @add-cart="onAddCartClicked"
    />

    <van-goods-action>
      <van-goods-action-icon
        icon="chat-o"
        text="客服"
        dot
      />
      <van-goods-action-icon
        icon="cart-o"
        text="购物车"
        badge="5"
      />
      <van-goods-action-icon
        icon="shop-o"
        text="店铺"
        badge="12"
      />
      <van-goods-action-button
        type="warning"
        text="加入购物车"
        @click='addCart'
      />
      <van-goods-action-button
        type="danger"
        text="立即购买"
      />
    </van-goods-action>
  </div>
</template>
<script>
// @ is an alias to /src
import { getGoodsInfo } from "@/api/product";
var sku = {
  // 所有sku规格类目与其值的从属关系，比如商品有颜色和尺码两大类规格，颜色下面又有红色和蓝色两个规格值。
  // 可以理解为一个商品可以有多个规格类目，一个规格类目下可以有多个规格值。
  tree: [
    {
      k: '颜色', // skuKeyName：规格类目名称
      k_s: 's1', // skuKeyStr：sku 组合列表（下方 list）中当前类目对应的 key 值，value 值会是从属于当前类目的一个规格值 id
      v: [
        {
          id: '1', // skuValueId：规格值 id
          name: '蓝色', // skuValueName：规格值名称
          imgUrl: 'https://img.youpin.mi-img.com/goods/3a8de475d195defb765e1069c0aa5bc4.jpg', // 规格类目图片，只有第一个规格类目可以定义图片
          // previewImgUrl: 'https://img.youpin.mi-img.com/goods/3a8de475d195defb765e1069c0aa5bc4.jpg', // 用于预览显示的规格类目图片
        },
        {
          id: '2',
          name: '红色',
          imgUrl: 'https://img.youpin.mi-img.com/goods/617b05fdb1ab3a09e47a38c4ed9de6c8.jpg',
          // previewImgUrl: 'https://img.youpin.mi-img.com/goods/617b05fdb1ab3a09e47a38c4ed9de6c8.jpg',
        }
      ],
      // largeImageMode: true, //  是否展示大图模式
    },
    {
      k: '大小', // skuKeyName：规格类目名称
      k_s: 's2', // skuKeyStr：sku 组合列表（下方 list）中当前类目对应的 key 值，value 值会是从属于当前类目的一个规格值 id
      v: [
        {
          id: '1', // skuValueId：规格值 id
          name: '码1', // skuValueName：规格值名称
          imgUrl: 'https://img.youpin.mi-img.com/goods/3a8de475d195defb765e1069c0aa5bc4.jpg', // 规格类目图片，只有第一个规格类目可以定义图片
          // previewImgUrl: 'https://img.youpin.mi-img.com/goods/3a8de475d195defb765e1069c0aa5bc4.jpg', // 用于预览显示的规格类目图片
        },
        {
          id: '2',
          name: '码2',
          imgUrl: 'https://img.youpin.mi-img.com/goods/617b05fdb1ab3a09e47a38c4ed9de6c8.jpg',
          // previewImgUrl: 'https://img.youpin.mi-img.com/goods/617b05fdb1ab3a09e47a38c4ed9de6c8.jpg',
        },
        {
          id: '3',
          name: '码3',
          imgUrl: 'https://img.youpin.mi-img.com/goods/617b05fdb1ab3a09e47a38c4ed9de6c8.jpg',
          // previewImgUrl: 'https://img.youpin.mi-img.com/goods/617b05fdb1ab3a09e47a38c4ed9de6c8.jpg',
        }
      ],
      // largeImageMode: true, //  是否展示大图模式
    }
  ],
  // 所有 sku 的组合列表，比如红色、M 码为一个 sku 组合，红色、S 码为另一个组合
  list: [
    {
      id: 123, // skuId
      s1: '1', // 规格类目 k_s 为 s1 的对应规格值 id
      s2: '1', // 规格类目 k_s 为 s2 的对应规格值 id
      price: 100, // 价格（单位分）
      stock_num: 110 // 当前 sku 组合对应的库存
    },
    {
      id: 1234, // skuId
      s1: '2', // 规格类目 k_s 为 s1 的对应规格值 id
      s2: '3', // 规格类目 k_s 为 s2 的对应规格值 id
      price: 100, // 价格（单位分）
      stock_num: 110 // 当前 sku 组合对应的库存
    },
    {
      id: 1234, // skuId
      s1: '2', // 规格类目 k_s 为 s1 的对应规格值 id
      s2: '2', // 规格类目 k_s 为 s2 的对应规格值 id
      price: 100, // 价格（单位分）
      stock_num: 110 // 当前 sku 组合对应的库存
    }
  ],
  price: '1.00', // 默认价格（单位元）
  stock_num: 227, // 商品总库存
  collection_id: 2261, // 无规格商品 skuId 取 collection_id，否则取所选 sku 组合对应的 id
  none_sku: false, // 是否无规格商品
  hide_stock: false // 是否隐藏剩余库存
}
var goods = {
  // 默认商品 sku 缩略图
  // picture: 'https://img.youpin.mi-img.com/800_pic/08d7b169e9d5f022d4165be8d856a841.png'
}

export default {
  name: "XXX",
  data() {
    return {
      images: [],
      info: {},
      show: false,
      sku,
      goods
    };
  },
  created() {
    console.log(this.$route.params);
    getGoodsInfo(this.$route.params.id).then(data => {
      console.log(data);
      this.images = Object.freeze(data.data.images);
      this.info = Object.freeze(data.data);
      this.goods.picture = this.info.pic;
      this.sku.tree.forEach(item=>{
        item.v.forEach((val,index)=>{
          val.imgUrl = this.images[index]
        })
      })
    });
  },
  methods: {
    addCart() {
      this.show = true
    },
    onAddCartClicked(value){
      console.log(value)
      // this.$store.commit('addCart',{
      //   id:value.goodsId,
      //   count:value.selectedNum,
      //   pic:this.info.pic
      // })
      this.$store.dispatch('addCartAsync',{
        pid:value.goodsId,
        count:value.selectedNum,
        pic:this.info.pic
      })
      this.$router.push('/cart')
    },
    onBuyClicked(){

    }
  }
};
</script>
<style lang="less">
.goodsInfo_box {
  text-align: left;
  img {
    width: 100%;
    margin: auto;
    height: auto;
  }
}
</style>